最近的视频项目遇到了内存泄漏,找问题真是蛋疼的事。
主要就是context没有释放,handler的不合理使用,bitmap没有回收,connection没有close等
首先纪录一下sdk官方写handler的方式
1 | public abstract class WeakHandler<T> extends Handler { |
activity中
1 | public abstract class BaseActivity extends AppCompatActivity { |
最后积累一个内存泄露监测工具,square公司的LeakCanary,square确实开源了些好用的东西。
LeakCanary作为一个简单粗暴的工具,用法也相当简单
在build.gradle中引入LeakCanary
1 | debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3' |
一个是debug包,一个是release包的,从引入包的结构也能看出端倪
由于LeakCanary是测试整个app的内存泄露情况,所以你需要在你的application中启动它
1 | package com.zimo.guo; |
这么有逼格的工具,赶紧来试试吧,要想使你的app的内存泄露灰飞烟灭,try it